@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion

:: 提示输入签名主题
:input_subject
echo 请输入签名主题（如：My Dev Cert）:
set "subject="
set /p "subject="
if "!subject!"=="" (
    echo 主题不能为空，请重新输入
    goto input_subject
)

:: 提示输入有效期
:input_duration
echo 请输入有效期（例如：1y 表示1年，1m 表示1月，30d 表示30天，1h表示1小时，1n表示一分钟）:
set "duration="
set /p "duration="
if "!duration!"=="" set "duration=365d"

:: 提示输入 .exe 路径
:input_exePath
echo 请输入要签名的 .exe 路径（完整路径）:
set "exePath="
set /p "exePath="
if "!exePath!"=="" (
    echo 路径不能为空，请重新输入
    goto input_exePath
)

:: 清理路径中的隐藏字符
set "exePath=!exePath:‪=!"

:: 提示输入签名密码
:input_password
echo 请输入签名密码:
set "password="
set /p "password="
if "!password!"=="" (
    echo 密码不能为空，请重新输入
    goto input_password
)

:: 输出输入信息
echo 签名主题: !subject!
echo 有效期: !duration!
echo 文件路径: !exePath!
echo 密码: !password!

:: 调用 PowerShell 脚本
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0sign-exe.ps1" -Subject "!subject!" -Duration "!duration!" -ExePath "!exePath!" -Password "!password!"

pause